/*************************************************************************
 *
 * funkce pro hi-level pristup k vstupum/vystupum
 * 
 * (c) Ales Povalac, alpov@alpov.net, http://www.alpov.net/
 * 
 *************************************************************************
 *
 * $Id: io.c 86 2006-09-01 11:11:46Z alpov $
 * 
 *************************************************************************/         

#include <stdint.h>
#include <avr/io.h>
#include "../avrx/avrx.h"
#include "../avrx/AvrXFifo.h"
#include "io.h"


/*************************************************************************
 * inicializace
 *************************************************************************/ 
void InitIO(void)
{
    PORTB |= _BV(PB3);
}


/*************************************************************************
 * cteni optovstupu
 *************************************************************************/ 
unsigned char ReadOpto(void)
{
    unsigned char i, j = 0;
    TimerControlBlock timer;
    
    timer.semaphore = SEM_PEND;
    for (i = 0; i < 10; i++) {
        if (PINB & _BV(PB3))
            j++;
        
        AvrXDelay(&timer, 2);
    }
    
    return (j > 8) ? 0 : 1;
}

